package br.uniriotec.pm.domain;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;

@XStreamAlias("vendedor")
public class Vendedor implements Comparable<Vendedor> {
	public static final int CATEGORIA_1 = 1;
	public static final int CATEGORIA_2 = 2;
	
	@XStreamAlias("codigo")
	@XStreamAsAttribute
	private Long codigo;
	
	@XStreamAlias("nome")
	@XStreamAsAttribute
	private String nome;
	
	@XStreamAlias("categoria")
	@XStreamAsAttribute
	private Integer categoria;
	
	public Vendedor() {
		super();
	}

	public Vendedor(Long codigo) {
		super();
		this.codigo = codigo;
	}

	public Vendedor(Long codigo, String nome, Integer categoria) {
		super();
		this.codigo = codigo;
		this.nome = nome;
		this.categoria = categoria;
	}

	public Long getCodigo() {
		return this.codigo;
	}

	public void setCodigo(Long codigo) {
		this.codigo = codigo;
	}

	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Integer getCategoria() {
		return this.categoria;
	}

	public void setCategoria(Integer categoria) {
		this.categoria = categoria;
	}
	
	@Override
	public int compareTo(Vendedor o) {
		return o.getCodigo().compareTo(this.codigo);
	}

	@Override
	public int hashCode() {
		return this.codigo.hashCode();
	}
}
